<!--

     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.

-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- **************************************************************** -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
<!-- **************************************************************** -->

<html>
<head>
    <!-- Generated by groovydoc (2.4.7) on Thu Dec 01 22:36:12 PST 2016 -->
    <title>TransactionFacade (Moqui Framework 2.0.0)</title>
    <meta name="date" content="2016-12-01">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
    <link href="../../../groovy.ico" type="image/x-icon" rel="icon">
    <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">

<body class="center">
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
    parent.document.title="TransactionFacade (Moqui Framework 2.0.0)";
}
//-->
</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
    <!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../index-all.html">Index</a></li>
        <li><a href="../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../index.html?org/moqui/context/TransactionFacade" target="_top">Frames</a></li>
            <li><a href="TransactionFacade.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <a name="skip-navbar_top">
        <!--   -->
    </a></div>
<!-- ========= END OF TOP NAVBAR ========= -->

<!-- ======== START OF CLASS DATA ======== -->
<div class="header">

    <div class="subTitle">Package: <strong>org.moqui.context</strong></div>

    <h2 title="[Java] Interface TransactionFacade" class="title">[Java] Interface TransactionFacade</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">

</ul>
<div class="description">
    <ul class="blockList">
        <li class="blockList">


    <p> Use this interface to do transaction demarcation and related operations.
 This should be used instead of using the JTA UserTransaction and TransactionManager interfaces.

 When you do transaction demarcation yourself use something like:

 <pre>
 boolean beganTransaction = transactionFacade.begin(timeout);
 try {
     ...
 } catch (Throwable t) {
     transactionFacade.rollback(beganTransaction, "...", t);
     throw t;
 } finally {
     if (transactionFacade.isTransactionInPlace()) transactionFacade.commit(beganTransaction);
 }
 </pre>

 This code will use a transaction if one is already in place (including setRollbackOnly instead of rollbackon
 error), or begin a new one if not.

 When you want to suspend the current transaction and create a new one use something like: 

 <pre>
 boolean suspendedTransaction = false;
 try {
     if (transactionFacade.isTransactionInPlace()) suspendedTransaction = transactionFacade.suspend();

     boolean beganTransaction = transactionFacade.begin(timeout);
     try {
         ...
     } catch (Throwable t) {
         transactionFacade.rollback(beganTransaction, "...", t);
         throw t;
     } finally {
         if (transactionFacade.isTransactionInPlace()) transactionFacade.commit(beganTransaction);
     }
 } catch (TransactionException e) {
     ...
 } finally {
     if (suspendedTransaction) transactionFacade.resume();
 }
 </pre>
 </p>

          </li>
    </ul>
</div>

<div class="summary">
    <ul class="blockList">
        <li class="blockList">
        <!-- =========== NESTED CLASS SUMMARY =========== -->
        

        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
        
        <!-- =========== FIELD SUMMARY =========== -->
        

        <!-- =========== PROPERTY SUMMARY =========== -->
        

        <!-- =========== ELEMENT SUMMARY =========== -->
        

        

        
        <!-- ========== METHOD SUMMARY =========== -->
        <ul class="blockList">
            
            <li class="blockList"><a name="method_summary"><!--   --></a>
                    <h3>Methods Summary</h3>
                    <ul class="blockList">
                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
                        <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
                        <tr>
                            <th class="colFirst" scope="col">Type</th>
                            <th class="colLast" scope="col">Name and description</th>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>boolean</strong></code></td>
                            <td class="colLast"><code><strong><a href="#begin(java.lang.Integer)">begin</a></strong>(java.lang.Integer timeout)</code><br>Begins a transaction in the current thread. </td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#commit(boolean)">commit</a></strong>(boolean beganTransaction)</code><br>Commits the transaction in the current thread if beganTransaction is true</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#commit()">commit</a></strong>()</code><br>Commits the transaction in the current thread</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>java.sql.Connection</strong></code></td>
                            <td class="colLast"><code><strong><a href="#enlistConnection(javax.sql.XAConnection)">enlistConnection</a></strong>(javax.sql.XAConnection con)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#enlistResource(javax.transaction.xa.XAResource)">enlistResource</a></strong>(javax.transaction.xa.XAResource resource)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#flushAndDisableTransactionCache()">flushAndDisableTransactionCache</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>javax.transaction.Synchronization</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getActiveSynchronization(java.lang.String)">getActiveSynchronization</a></strong>(java.lang.String syncName)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>javax.transaction.xa.XAResource</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getActiveXaResource(java.lang.String)">getActiveXaResource</a></strong>(java.lang.String resourceName)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>int</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getStatus()">getStatus</a></strong>()</code><br>Get the status of the current transaction</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>java.lang.String</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getStatusString()">getStatusString</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>javax.transaction.TransactionManager</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getTransactionManager()">getTransactionManager</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>javax.transaction.UserTransaction</strong></code></td>
                            <td class="colLast"><code><strong><a href="#getUserTransaction()">getUserTransaction</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#initTransactionCache()">initTransactionCache</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>boolean</strong></code></td>
                            <td class="colLast"><code><strong><a href="#isTransactionCacheActive()">isTransactionCacheActive</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>boolean</strong></code></td>
                            <td class="colLast"><code><strong><a href="#isTransactionInPlace()">isTransactionInPlace</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#putAndEnlistActiveSynchronization(java.lang.String, javax.transaction.Synchronization)">putAndEnlistActiveSynchronization</a></strong>(java.lang.String syncName, javax.transaction.Synchronization sync)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#putAndEnlistActiveXaResource(java.lang.String, javax.transaction.xa.XAResource)">putAndEnlistActiveXaResource</a></strong>(java.lang.String resourceName, javax.transaction.xa.XAResource xar)</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#registerSynchronization(javax.transaction.Synchronization)">registerSynchronization</a></strong>(javax.transaction.Synchronization sync)</code><br></td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#resume()">resume</a></strong>()</code><br></td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#rollback(boolean, java.lang.String, java.lang.Throwable)">rollback</a></strong>(boolean beganTransaction, java.lang.String causeMessage, java.lang.Throwable causeThrowable)</code><br>Rollback current transaction if beganTransaction is true, otherwise setRollbackOnly is called to mark current
 transaction as rollback only.</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#rollback(java.lang.String, java.lang.Throwable)">rollback</a></strong>(java.lang.String causeMessage, java.lang.Throwable causeThrowable)</code><br>Rollback current transaction</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>java.lang.Object</strong></code></td>
                            <td class="colLast"><code><strong><a href="#runRequireNew(java.lang.Integer, java.lang.String, groovy.lang.Closure)">runRequireNew</a></strong>(java.lang.Integer timeout, java.lang.String rollbackMessage, groovy.lang.Closure closure)</code><br>Run in a separate transaction, even if one is in place.</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>java.lang.Object</strong></code></td>
                            <td class="colLast"><code><strong><a href="#runUseOrBegin(java.lang.Integer, java.lang.String, groovy.lang.Closure)">runUseOrBegin</a></strong>(java.lang.Integer timeout, java.lang.String rollbackMessage, groovy.lang.Closure closure)</code><br>Run in current transaction if one is in place, begin and commit/rollback if none is.</td>
                        </tr>
                        
                        <tr class="rowColor">
                            <td class="colFirst"><code>void</strong></code></td>
                            <td class="colLast"><code><strong><a href="#setRollbackOnly(java.lang.String, java.lang.Throwable)">setRollbackOnly</a></strong>(java.lang.String causeMessage, java.lang.Throwable causeThrowable)</code><br>Mark current transaction as rollback-only (transaction can only be rolled back)</td>
                        </tr>
                        
                        <tr class="altColor">
                            <td class="colFirst"><code>boolean</strong></code></td>
                            <td class="colLast"><code><strong><a href="#suspend()">suspend</a></strong>()</code><br></td>
                        </tr>
                        
                    </table>
                   </ul>
              </li>
            
        </ul>
        
    </li>
    </ul>
</div>

<div class="details">
    <ul class="blockList">
        <li class="blockList">
           

            

            

            

            


            
            <!-- =========== METHOD DETAIL =========== -->
            <ul class="blockList">
                <li class="blockList"><a name="method_detail">
                    <!--   -->
                </a>
                    <h3>Method Detail</h3>
                    
                        <a name="begin(java.lang.Integer)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;boolean <strong>begin</strong>(java.lang.Integer timeout)</h4>
                                <p> Begins a transaction in the current thread. Only tries if the current transaction status is not ACTIVE, if
 ACTIVE it returns false since no transaction was begun.<DL><DT><B>throws:</B></DT><DD>TransactionException</DD></DL>
     <DL><DT><B>Returns:</B></DT><DD>True if a transaction was begun, otherwise false.</DD></DL><DL><DT><B>Parameters:</B></DT><DD><code>timeout</code> -  Optional Integer for the timeout. If null the default configured will be used.</DD></DL></p>
                            </li>
                        </ul>
                    
                        <a name="commit(boolean)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>commit</strong>(boolean beganTransaction)</h4>
                                <p> Commits the transaction in the current thread if beganTransaction is true </p>
                            </li>
                        </ul>
                    
                        <a name="commit()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>commit</strong>()</h4>
                                <p> Commits the transaction in the current thread </p>
                            </li>
                        </ul>
                    
                        <a name="enlistConnection(javax.sql.XAConnection)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;java.sql.Connection <strong>enlistConnection</strong>(javax.sql.XAConnection con)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="enlistResource(javax.transaction.xa.XAResource)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>enlistResource</strong>(javax.transaction.xa.XAResource resource)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="flushAndDisableTransactionCache()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>flushAndDisableTransactionCache</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getActiveSynchronization(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;javax.transaction.Synchronization <strong>getActiveSynchronization</strong>(java.lang.String syncName)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getActiveXaResource(java.lang.String)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;javax.transaction.xa.XAResource <strong>getActiveXaResource</strong>(java.lang.String resourceName)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getStatus()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;int <strong>getStatus</strong>()</h4>
                                <p> Get the status of the current transaction </p>
                            </li>
                        </ul>
                    
                        <a name="getStatusString()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;java.lang.String <strong>getStatusString</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getTransactionManager()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;javax.transaction.TransactionManager <strong>getTransactionManager</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="getUserTransaction()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;javax.transaction.UserTransaction <strong>getUserTransaction</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="initTransactionCache()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>initTransactionCache</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="isTransactionCacheActive()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;boolean <strong>isTransactionCacheActive</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="isTransactionInPlace()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;boolean <strong>isTransactionInPlace</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="putAndEnlistActiveSynchronization(java.lang.String, javax.transaction.Synchronization)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>putAndEnlistActiveSynchronization</strong>(java.lang.String syncName, javax.transaction.Synchronization sync)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="putAndEnlistActiveXaResource(java.lang.String, javax.transaction.xa.XAResource)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>putAndEnlistActiveXaResource</strong>(java.lang.String resourceName, javax.transaction.xa.XAResource xar)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="registerSynchronization(javax.transaction.Synchronization)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>registerSynchronization</strong>(javax.transaction.Synchronization sync)</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="resume()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>resume</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                        <a name="rollback(boolean, java.lang.String, java.lang.Throwable)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>rollback</strong>(boolean beganTransaction, java.lang.String causeMessage, java.lang.Throwable causeThrowable)</h4>
                                <p> Rollback current transaction if beganTransaction is true, otherwise setRollbackOnly is called to mark current
 transaction as rollback only.
     </p>
                            </li>
                        </ul>
                    
                        <a name="rollback(java.lang.String, java.lang.Throwable)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>rollback</strong>(java.lang.String causeMessage, java.lang.Throwable causeThrowable)</h4>
                                <p> Rollback current transaction </p>
                            </li>
                        </ul>
                    
                        <a name="runRequireNew(java.lang.Integer, java.lang.String, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;java.lang.Object <strong>runRequireNew</strong>(java.lang.Integer timeout, java.lang.String rollbackMessage, groovy.lang.Closure closure)</h4>
                                <p> Run in a separate transaction, even if one is in place. </p>
                            </li>
                        </ul>
                    
                        <a name="runUseOrBegin(java.lang.Integer, java.lang.String, groovy.lang.Closure)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;java.lang.Object <strong>runUseOrBegin</strong>(java.lang.Integer timeout, java.lang.String rollbackMessage, groovy.lang.Closure closure)</h4>
                                <p> Run in current transaction if one is in place, begin and commit/rollback if none is. </p>
                            </li>
                        </ul>
                    
                        <a name="setRollbackOnly(java.lang.String, java.lang.Throwable)"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;void <strong>setRollbackOnly</strong>(java.lang.String causeMessage, java.lang.Throwable causeThrowable)</h4>
                                <p> Mark current transaction as rollback-only (transaction can only be rolled back) </p>
                            </li>
                        </ul>
                    
                        <a name="suspend()"><!-- --></a>
                        <ul class="blockListLast">
                            <li class="blockList">
                                <h4>public&nbsp;boolean <strong>suspend</strong>()</h4>
                                <p></p>
                            </li>
                        </ul>
                    
                </li>
            </ul>
            
        </li>
    </ul>
</div>

<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
    <!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
    <!--   -->
</a>
    <ul class="navList" title="Navigation">
        <li><a href="../../../overview-summary.html">Overview</a></li>
        <li><a href="package-summary.html">Package</a></li>
        <li class="navBarCell1Rev">Class</li>
        <li><a href="../../../deprecated-list.html">Deprecated</a></li>
        <li><a href="../../../index-all.html">Index</a></li>
        <li><a href="../../../help-doc.html">Help</a></li>
    </ul>
</div>

<div class="subNav">
    <div>
        <ul class="navList">
            <li><a href="../../../index.html?org/moqui/context/TransactionFacade" target="_top">Frames</a></li>
            <li><a href="TransactionFacade.html" target="_top">No Frames</a></li>
        </ul>
    </div>
    <div>
        <ul class="subNavList">
            <li>Summary:&nbsp;</li>
            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
        <ul class="subNavList">
            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
            Field&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
        </ul>
    </div>
    <p>Groovy Documentation</p>
    <a name="skip-navbar_bottom">
        <!--   -->
    </a>
    </div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
